// 前一个函数的返回值做下一个函数的参数
module.exports = class SyncBailHook {
    constructor() {
        this.tasks = []
    }
    tap(name, callback) {
        this.tasks.push(callback);
    }
    call(...args) {
        let fir = this.tasks.shift();
        this.tasks.reduce((a,b) => {
            return b(a)
        }, fir(...args))
    }
}